# 第一阶段：安装pnpm和依赖
FROM node:18-alpine as build-stage

# 设置工作目录
WORKDIR /app

# 安装pnpm
RUN apk add --no-cache pnpm

# 复制项目文件并安装依赖
COPY package.json pnpm-lock.yaml ./
RUN pnpm install

# 第二阶段：构建项目
FROM build-stage as build

# 复制整个项目（除了node_modules，已经在第一阶段安装）
COPY . .

# 构建项目，假设构建命令是pnpm run build
RUN pnpm run build

# 第三阶段：生产环境设置
FROM nginx:alpine as production

# 从构建阶段复制构建好的项目文件到nginx的html目录
COPY --from=build /app/dist /usr/share/nginx/html

# 暴露nginx的80端口
EXPOSE 80

# 启动nginx
CMD ["nginx", "-g", "daemon off;"]